home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GEOS Mega ASM (19xx)(-).d64
/
list8-4
< prev
next >
Wrap
Text File
|
2019-04-13
|
3KB
|
138 lines
n "VLIR2-Mod C.obj"
if .p
t "Listing_8.1.ext"
t "TopSym"
t "TopMac"
endif
o ModStart
; Sprungtabelle:
jmp Aktualisieren
jmp Wiederherstellen
jmp Verlassen
jmp |ffnen
jmp drucken
:|ffnen
LoadW r0,VLIRName ; Telefondatei suchen
jsr OpenRecordFile
txa
beq :10
cmp #5 ; Datei gefunden?
bne :05
jmp Erstellen ; Nein, also neu erzeugen
::05 jmp error
::10 lda #0
jsr PointRecord
:Wiederherstellen
LoadW r7,A_Name
LoadW r2,52
jmp ReadRecord
:Verlassen
jsr Aktualisieren
jsr CloseRecordFile
jmp EnterDeskTop
:Aktualisieren
LoadW r7,A_Name
LoadW r2,52
jsr WriteRecord
txa
beq :10
jmp error
::10 jmp UpdateRecordFile
:Erstellen
LoadW r9,VLIR_Header
LoadB r10L,0
jsr SaveFile
LoadW r0,VLIRName
jsr OpenRecordFile
jsr AppendRecord
jsr i_FillRam ; Eintrag l|schen
w 52,A_Name
b 0
LoadW r7,A_Name
LoadW r2,52
jsr WriteRecord
jsr CloseRecordFile
jmp |ffnen
:drucken lda curRecord
pha
jsr CloseRecordFile
LoadW r6,PrntFileName
LoadB r0L,0
jsr GetFile ; Druckertreiber laden
txa
beq :05
cmp #$05
bne :04
jmp KeinDrTreiber
::04 pla ; Stack restaurieren
jmp error
::05 jsr InitForPrint ; Drucker initialisieren
LoadW r0,VLIRName
jsr OpenRecordFile
lda #00 ; ersten Datensatz einstellen
jsr PointRecord
txa
bne :end ; Falls nicht vorhanden, ende
::10 LoadW r7,P_Name ; Datensatz lesen
LoadW r2,52
jsr ReadRecord
txa
bne :end
ldy #51 ; Alle NULLEN gegen
::13 lda P_Name,y ; Leerzeichen austauschen
bne :15
lda #$20
sta P_Name,y
::15 dey
bpl :13
LoadW r1,WorkBuf
jsr StartASCII
LoadW r0,P_Name ; Name & Nummer drucken
LoadW r1,WorkBuf
jsr PrintASCII
jsr NextRecord ; n{chster Datensatz
txa ; falls vorhanden,
beq :10 ; weiterdrucken
::end jsr StopPrint
:DruckEnde pla
jsr PointRecord
jsr Wiederherstellen
jsr i_ImprintRectangle
b 0,199
w 0,319
rts
:WorkBuf s 640
:P_Name s 31
:P_Nummer s 21
b $0d,0 ; CR,NULL
:KeinDrTreiber
LoadW r0,:db
jsr DoDlgBox
LoadW r0,VLIRName
jsr OpenRecordFile
jmp DruckEnde
::db b $81
b $0b,$10,$10
w :t1
b OK,17,72
b 0
::t1 b BOLDON,"Druckertreiber nicht zu finden."
b PLAINTEXT,NULL
:VLIR_Header
w VLIRName
b 3,21
j
b $80 ! USR
b APPL_DATA
b VLIR
w 0,0,0
b "VLIR-DAT V1.0",0,0,0,0
s 20
b "VLIR2-Bsp. V1.0",0
::end s (VLIR_Header+255) - :end